package com.softeem.score.manager.service;

import com.github.pagehelper.PageInfo;
import com.softeem.score.model.dto.TeachingClassDto;
import com.softeem.score.model.entity.educational.TeachingClass;
import com.softeem.score.model.vo.educational.ElectiveCourseVo;
import com.softeem.score.model.vo.educational.TeachingClassVo;
import com.softeem.score.model.vo.school.MapVo;

import java.util.List;

public interface TeachingClassService {
    //分页查询
    PageInfo<TeachingClassVo> findByPage(TeachingClassDto teachingClassDto, Integer pageNum, Integer pageSize);

    void deleteById(Long teachingClassId);

    void saveTeachingClass(TeachingClass teachingClass);

    void updateTeachingClass(TeachingClass teachingClass);

    void saveStudentToTeachingClassByClassesId(Long teachingClassId, Long classesId);

    List<MapVo> findAllClassByTeachingClass(Long courseId, Integer academicYear, Integer semester);

    PageInfo<ElectiveCourseVo> findByPageByOwnership(Integer ownership, Integer pageNum, Integer pageSize);

    void studentsCourseSelection(Long teachingClassId, String studentNumber);

    void gradeDelete(Long teachingClassId, String studentNumber);

    List<ElectiveCourseVo> getElectiveCourse(String studentNumber);
}
